package com.bee.剑指offer;

import java.util.ArrayList;
import java.util.List;

/**
 * 给定一棵结点数为 n 二叉搜索树，请找出其中的第 k 小的TreeNode结点。
 * 二叉排序是有序的，就是中序遍历是有序的
 */
public class 二叉搜索树的第k个结点 {

    private static List<TreeNode> inList = new ArrayList<>();

    TreeNode KthNode(TreeNode pRoot, int k) {
        if(pRoot == null || k == 0) {
            return null;
        }
        inRound(pRoot);
        if(inList.size() < k) {
            return null;
        }
        return inList.get(k - 1);
    }

    private static void inRound(TreeNode pRoot){
        if(pRoot == null){
            return;
        }
        inRound(pRoot.left);
        inList.add(pRoot);
        inRound(pRoot.right);
    }


    public static void main(String[] args) {

    }
}
